#ifndef COMMONPAGE_H
#define COMMONPAGE_H

#include <QWidget>
#include "musiclist.h"
#include "music.h"
#include<QMediaPlaylist>

namespace Ui {
class CommonPage;
}

//添加枚举类型 来进行音乐分类 commonPage中哪个页面放
enum PageType
{
    LIKE_PAGE,    //我喜欢页面
    LOCAL_PAGE,   //本地下载页面
    HISTORY_PAGE  //最近播放页面
};

class CommonPage : public QWidget
{
    Q_OBJECT

public:
    explicit CommonPage(QWidget *parent = nullptr);
    ~CommonPage();

    void setCommonPageUi(const QString& text,const QString& imagePath);

    void setMusicListType(PageType pageType);

    void addMusicToMusicPage(MusicList& musicList); //添加音乐(id)到 这个页面 - 找所有音乐id添加到页面 但是没有显示

    void reFresh(MusicList& musicList);//将歌曲信息更新到界面

    // 将歌曲添加到播放列表中
    void addMusicToPlaylist(MusicList& musicList, QMediaPlaylist* playList);

    QString getMusicIdByIndex(int index);

    void setMusicImage(QPixmap pixmap); //更新commonpage中的图片

signals:
    void updateLikeMusic(bool isLike,const QString& musicId);
    void playAll(PageType pageType);
    void playMusicByIndex(CommonPage*,int);


private:
    Ui::CommonPage *ui;

    PageType pageType;   //表明这个commonPage页面的 类别
    QVector<QString> musicOfPage;  //保存这个PageType对应页面的歌曲id
};

#endif // COMMONPAGE_H
